home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 01 (1982-09)(Softdisk)(Side B).zip / Softdisk Magazette Volume 2, No. 01 (1982-09)(Softdisk)(Side B).do / ROOTS.&.PREFIXES.bas < prev    next >
BASIC Source File  |  1996-12-24  |  4KB  |  158 lines

  1. 10  TEXT 
  2. 20  HOME 
  3. 30 D$ =  CHR$(4)
  4. 40 OP$ = D$ +"OPEN "
  5. 50 RD$ = D$ +"READ "
  6. 60  DIM A$(33,10),B$(33,10),C$(33),D$(33,10)
  7. 70  INVERSE : GOSUB 1300
  8. 80  PRINT "ON WHICH SHEET WOULD YOU LIKE TO BE"
  9. 90  PRINT "TESTED:"
  10. 100  PRINT "1.    A-      THROUGH  BI-
  11. 110  PRINT "2.    BIBLI-  THROUGH  CRESC- 
  12. 120  PRINT "3.    CUM-    THROUGH  FID-"
  13. 130  PRINT "4.    FILI-   THROUGH  GYRO- 
  14. 140  PRINT "5.    HAL-    THROUGH  LOG-
  15. 150  PRINT "6.    LUC-    THROUGH  NOUNC-
  16. 160  PRINT "7.    ONYM-   THROUGH  RE-
  17. 170  PRINT "8.    REG-    THROUGH  VOL-
  18. 180  POKE  -16368,0
  19. 182 G =  PEEK( -16384) -176
  20. 190  IF G <1  OR G >8  THEN 182
  21. 200  GOSUB 1300
  22. 202 X = 0
  23. 204  PRINT "HERE IS A SNEAK PREVIEW OF SOME WORDS"
  24. 205  POKE 34,1
  25. 206  NORMAL 
  26. 210  PRINT OP$;"ROOT ";G
  27. 220  PRINT RD$;"ROOT ";G
  28. 225  INVERSE 
  29. 230 X = X +1
  30. 240 Z = 0
  31. 250 Z = Z +1
  32. 260  INPUT A$(X,Z)
  33. 270  IF A$(X,Z) = "X"  THEN 300
  34. 280  IF A$(X,Z) = "XZX"  THEN 370
  35. 290  GOTO 250
  36. 300 Z = 0
  37. 310 Z = Z +1
  38. 320  INPUT B$(X,Z)
  39. 330  IF B$(X,Z) = "XXX"  OR B$(X,Z) = "X"  THEN 350
  40. 340  GOTO 310
  41. 350 L$ =  LEFT$(A$(X,1) +"                    ",15) + LEFT$(B$(X,1) +"                  ",12) + LEFT$(B$(X,2) +"             ",12)
  42. 355  PRINT L$
  43. 360  GOTO 230
  44. 370 XX = X -1: PRINT D$;"CLOSE ROOT ";G
  45. 380  FOR X = 1 TO XX:C =  INT( RND(8) *XX) +1
  46. 390  FOR Z = 1 TO 10
  47. 400 R$ = A$(X,Z):A$(X,Z) = A$(C,Z):A$(C,Z) = R$
  48. 410 R$ = B$(X,Z):B$(X,Z) = B$(C,Z):B$(C,Z) = R$
  49. 420  NEXT Z
  50. 430  NEXT X
  51. 440  PRINT 
  52. 450  FOR Z = 1 TO XX
  53. 460  POKE  -16368,0
  54. 470  GOSUB 1300
  55. 480 DE$ = ""
  56. 490  PRINT "QUESTION #";Z
  57. 500  PRINT R;" RIGHT"
  58. 510  PRINT W;" WRONG"
  59. 520 C =  INT( RND(8) *6) +1
  60. 530  IF A$(Z,C) = "X"  OR A$(Z,C) = ""  THEN 520
  61. 540  PRINT : PRINT : PRINT  TAB( 15);A$(Z,C)
  62. 550  PRINT : PRINT : PRINT 
  63. 560  GOSUB 1360
  64. 570  PRINT : PRINT 
  65. 580  IF DE$ = ""  THEN 620
  66. 590  FOR Y = 1 TO 5
  67. 600  IF DE$ = B$(Z,Y)  THEN 740
  68. 610  NEXT Y
  69. 620  PRINT "WRONG": FOR PQ = 1 TO 300: NEXT PQ
  70. 630 W = W +1
  71. 640 C$(W) = A$(Z,C)
  72. 650  FOR Y = 1 TO 5
  73. 660 D$(W,Y) = B$(Z,Y)
  74. 670  NEXT Y
  75. 680  PRINT : PRINT "THE CORRECT ANSWERS ARE...."
  76. 690  FOR PQ = 1 TO 100: NEXT PQ
  77. 700  FOR J = 1 TO 5
  78. 710  IF B$(Z,J) = "XXX"  OR B$(Z,J) = "X"  THEN 810
  79. 720  PRINT B$(Z,J): NEXT J
  80. 730  GOTO 810
  81. 740  PRINT "RIGHT":R = R +1: FOR PQ = 1 TO 200: NEXT PQ
  82. 750  IF B$(Z,2) = "XXX"  OR B$(Z,2) = "X"  THEN 820
  83. 760  PRINT : PRINT "THE OTHER CHOICES WERE..."
  84. 770  FOR PQ = 1 TO 150: NEXT PQ
  85. 780  FOR J = 1 TO 5
  86. 790  IF B$(Z,J) = "XXX"  OR B$(Z,J) = "X"  THEN 810
  87. 800  PRINT B$(Z,J): NEXT J
  88. 810  PRINT : PRINT "PRESS THE SPACE BAR TO CONTINUE": GET A$
  89. 820  NEXT Z
  90. 830  GOSUB 1300
  91. 840  PRINT "TOTAL SCORE....."
  92. 850  PRINT  INT((R/(R +W)) *100);"% RIGHT"
  93. 860  PRINT  INT((W/(R +W)) *100);"% WRONG"
  94. 870  PRINT : PRINT "PRESS 'A' TO PRACTICE AGAIN WITH THE"
  95. 880  PRINT : PRINT "WORDS YOU MISSED."
  96. 890  PRINT : PRINT "PRESS 'S' TO END"
  97. 900  GET A$
  98. 910  IF A$ = "S"  THEN  END 
  99. 920  FOR Z = 1 TO 2
  100. 930  GOSUB 1300
  101. 940  PRINT ; TAB( 13);"SECOND CHANCE"
  102. 950  PRINT "QUESTION #";Z;" OUT OF ";W
  103. 960  PRINT R;" RIGHT": PRINT W" WRONG"
  104. 970  PRINT : PRINT 
  105. 980  PRINT ; TAB( 15);C$(Z)
  106. 990  PRINT 
  107. 1000  GOSUB 1360
  108. 1010  PRINT : PRINT 
  109. 1020  IF DE$ = ""  THEN 1060
  110. 1030  FOR J = 1 TO 5
  111. 1040  IF DE$ = D$(Z,J)  THEN 1140
  112. 1050  NEXT J
  113. 1060  PRINT "WRONG AGAIN!!!!"
  114. 1080  PRINT : PRINT "THE CORRECT ANSWERS ARE..."
  115. 1090  FOR H = 1 TO 5
  116. 1100  IF D$(Z,H) = "X"  OR D$(Z,H) = "XXX"  THEN 1220
  117. 1110  PRINT D$(Z,H)
  118. 1120  NEXT H
  119. 1130  GOTO 1220
  120. 1140  PRINT "RIGHT!!"
  121. 1150 R = R +1:W = W -1
  122. 1160  IF D$(Z,2) = "XXX"  OR D$(Z,2) = "X"  THEN 1220
  123. 1170  PRINT : PRINT "THE OTHER CORRECT CHOICES ARE..."
  124. 1180  FOR H = 1 TO 5
  125. 1190  IF D$(Z,H) = "XXX"  OR D$(Z,H) = "X"  THEN 1220
  126. 1200  PRINT D$(Z,H)
  127. 1210  NEXT H
  128. 1220  FOR H = 1 TO 1500: NEXT H
  129. 1230  NEXT Z
  130. 1250  GOSUB 1300
  131. 1260  PRINT "TOTAL SCORE....."
  132. 1270  PRINT : PRINT  INT((R/(R +W)) *100);"% RIGHT"
  133. 1280  PRINT : PRINT  INT((W/(R +W)) *100);"% WRONG"
  134. 1290  END 
  135. 1300  FOR X = 1 TO 23
  136. 1310  VTAB X
  137. 1320  PRINT "                                       "
  138. 1330  NEXT X
  139. 1340  VTAB 1: HTAB 1
  140. 1350  RETURN 
  141. 1360  PRINT "ENTER DEFENITION ";
  142. 1370 DE$ = ""
  143. 1380  GET W$
  144. 1390  IF  ASC(W$) = 13  THEN 1520
  145. 1400  IF  ASC(W$) < >8  THEN 1500
  146. 1410  IF  LEN(DE$) >1  THEN 1440
  147. 1420  IF  LEN(DE$) = 1  THEN DE$ = "": GOTO 1450
  148. 1430  GOTO 1380
  149. 1440 DE$ =  LEFT$(DE$, LEN(DE$) -1)
  150. 1450 PS =  POS(0)
  151. 1460  HTAB PS
  152. 1470  PRINT " ";
  153. 1480  HTAB PS
  154. 1490  GOTO 1380
  155. 1500  IF  LEN(DE$) >20  THEN  PRINT "<CTRL-G><CTRL-G><CTRL-G>";: GOTO 1380
  156. 1505  PRINT W$;
  157. 1510 DE$ = DE$ +W$: GOTO 1380
  158. 1520  RETURN